{% extends "../base.html" %}

{% block title %} pyutility:JSLint, The JavaScript Verifier {% endblock title %}
{% block header %}

<style type="text/css">
ol {margin-bottom: 0px;}
li+li {border-top: black solid 1px;}
th {background-color: thistle; border: black solid 1px; text-align: left;
    padding-left: 10px; padding-right: 10px;}
td {background-color: white; border: black solid 1px; padding-left: 10px;
    padding-right: 10px;}
table {margin: 10px; float:right; border: 0px; border-spacing: 0px;}
fieldset {border: 2px solid black; margin: 1em; background-color: gainsboro;
   padding: 8px;}
legend {border: 2px solid black; background-color: thistle; padding: 8px;}
textarea {width: 90%; height: 3in; font-family: monospace; overflow: auto;
    margin: 10pt; border: 2px solid black; padding: 0.5em;}
p {padding-left: 10pt;}
input[type=button] {border: 2px solid black; background-color: navajowhite;}
input[type=button]:hover {background-color: lightsteelblue; text-decoration: underline;}
input[type=button]:active {background-color: indianred; text-decoration: none;}

div.cut {
    margin: 16px;
}

div.cut div.content {
    padding-left:16px;
    padding-right:16px;
    background: white;
    border:solid black;
    border-width:0 2px;
}

div.cut .corner i, div.cut .corner u {
    display:block;
    font:0/0 arial;
    height:16px;
    width:16px;
    position:relative;
}

div.cut .corner {
    background-color: white;
    border-top:2px solid black;
    display:block;
    margin:0 16px 0 16px;
    zoom:1;
}

div.cut .corner i {
    margin-left:-16px;
}


div.cut tt.corner i {
    margin-top:-2px;
}

div.cut tt.corner u {
    background-position:-16px top;
}

div.cut .corner u {
    margin:-16px 0 0 100%;
    margin-right:-16px;
}

div.cut b.corner {
    border:solid black;
    border-width:0 0 2px;
}

div.cut b.corner i {
    background-position:left bottom;
}

div.cut b.corner u {
    background-position:-16px bottom;
    margin-bottom:-2px;
}
a {text-decoration: none;}
a:link {color: black;}
a:visited {color: purple;}
a:hover {color: blue; text-decoration: underline;}
a:active {color: red;}

#options div {float: left; margin-left: 1em}
#errors {background-color: mistyrose; padding: 1em; border: 2px solid black;}
</style>
{% endblock header %}

{% block content %}
<fieldset><legend><tt><big>JSLint</big></tt></legend>
<p align=center><b>&nbsp;The <a href="http://javascript.crockford.com/">JavaScript</a>
Verifier&nbsp;</b> (<a href="lint.html">Read the documentation</a>) &nbsp; &nbsp;
Edition

2007-05-20

</p>
<form>
<p align=center><textarea id=input></textarea></p>
<p align=center>
    <input type=button name=jslint value=JSLint>
    &nbsp; &nbsp;
    <input type=button name=jslint value=clear>
</p>
<div class="cut">
    <tt class="corner"><i></i><u></u></tt>
    <div class="content">
        <div id=output>
        <div align=center>Paste your program into the text box above
        and click the JSLint button.</div>
        </div>
    </div>
    <b class="corner"><i></i><u></u></b>
</div>
<br clear=all>
<p align=center>
    <input type=button name=jslint value=JSLint>
    &nbsp; &nbsp;
    <input type=button name=jslint value=clear>
</p>

<fieldset id=options style="background-color: linen;"><legend>Options</legend>
  <div>
    <input type=checkbox id=passfail><label for=passfail>Stop on first error</label>
  <br>
    <input type=checkbox id=white><label for=white>Strict whitespace</label>
  <br>
    <input type=checkbox id=browser><label for=browser>Assume a browser</label>
  <br>
    <input type=checkbox id=widget><label for=widget>Assume a
        <a href="http://widgets.yahoo.com/gallery/view.php?widget=37484">Yahoo Widget</a></label>
  <br>
    <input type=checkbox id=rhino><label for=rhino>Assume
        <a href="http://www.mozilla.org/rhino/">Rhino</a></label>
  </div>
  <div>
    <input type=checkbox id=laxbreak><label for=laxbreak>Tolerate sloppy line breaking</label>
  <br>
    <input type=checkbox id=cap><label for=cap>Tolerate <tt>HTML</tt> case</label>
  <br>
    <input type=checkbox id=fragment><label for=fragment>Tolerate <tt>HTML</tt> fragments</label>
  <br>
    <input type=checkbox id=debug><label for=debug>Tolerate <tt>debugger</tt> statements</label>
  <br>
    <input type=checkbox id=evil><label for=evil>Tolerate <tt>eval</tt></label>
  </div>
  <div>
    <input type=checkbox id=undef><label for=undef>Disallow undefined variables</label>
  <br>
    <input type=checkbox id=nomen><label for=nomen>Disallow <tt>$</tt> and
    leading <tt>_</tt> in identifiers</label>
  <br>
    <input type=checkbox id=eqeqeq><label for=eqeqeq>Disallow
    <tt>==</tt> and <tt>!=</tt></label>
  <br>
    <input type=checkbox id=plusplus><label for=plusplus>Disallow <tt>++</tt> and
    <tt>--</tt></label>
  <br>
    <input type=checkbox id=bitwise><label for=bitwise>Disallow bitwise operators</label>
  <br>
    <input type=checkbox id=adsafe><label for=adsafe>Adsafe</label>
  </div>
  <div>
    <input type=button id=recommended value=Recommended>
  <br>
  <br>
    <input type=button id=goodparts value="Good Parts">
  </div>
</fieldset>
</form>
<p align=center>
Copyright 2002 <a href="mailto:douglas@crockford.com">Douglas Crockford.</a>
<a target=_top href="http://www.crockford.com/">All Rights Reserved Wrrrldwide.</a>
<br><a href="http://javascript.crockford.com/code.html" target=_blank>Code
Conventions for the JavaScript Programming Language</a>
</p></fieldset>
<script type="text/javascript" src="webjslint.js"></script>

{% endblock content %}